package com.mikao.service;

import com.mikao.dto.bo.ManagerForm;
import com.mikao.dto.bo.ReqDataTableDto;
import com.mikao.dto.vo.RspDataTableDto;
import com.mikao.dto.vo.SysManagerDto;
import com.mikao.dto.vo.SysUserDto;
import com.mikao.entity.SysUser;


/**
 * @author KennyDavid
 */

public interface SysUserService {


    /**
     * 根据账号查询用户信息
     *
     * @param account 账号
     * @return sysUser
     */
    SysUserDto findByAccount(String account);

    /**
     * 查询所有管理员信息
     *
     * @param dataTableDTO 封装类
     * @return 封装类
     */
    RspDataTableDto<SysManagerDto> findManagerList(ReqDataTableDto dataTableDTO);

    /**
     * 添加管理员信息
     *
     * @param managerForm form
     */
    void saveManager(ManagerForm managerForm);

    /**
     * 删除管理员
     *
     * @param id id
     */
    void removeManager(Long id);

    /**
     * 验证用户名是否存在
     *
     * @param account 账号
     * @return bool
     */
    boolean checkSysUserExists(String account);

    /**
     * 重置密码
     *
     * @param id id
     */
    void resetPassword(Long id);
}
